<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/*
 * PHP QR Code encoder
 *
 * Root library file, prepares environment and includes dependencies
 *
 * Based on libqrencode C library distributed under LGPL 2.1
 * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
 *
 * PHP QR Code is distributed under LGPL 3
 * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 * 
 * 
 * Ejemplo de instalacion 
 * 
 *      $this->load->library('Qr_Code');
 *       $array=  array(
 *           'name' => 'Daniel Reyes',
 *           'apel' => 'Reyes GArza',
 *           'orga' => 'Viso',
 *           'telo' => '83221857',
 *           'mail' => 'daniel_rg@hotmailc.com',
 *       );
 *       
 *       $imageString = $this->qr_code->qrcode_vCard_img_base64($array);
 *       
 *       echo '<img class="center-block" src="data:image/jpg;base64,'. $imageString.'"/>';
 * 
 */

class Qr_Code {
	
    /**
     * Class constructor
     */
    function __construct(){
        $this->CI =& get_instance();

        $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'qrcode'.DIRECTORY_SEPARATOR;

        // Required libs
	include $QR_BASEDIR."qrconst.php";
	include $QR_BASEDIR."qrconfig.php";
	include $QR_BASEDIR."qrtools.php";
	include $QR_BASEDIR."qrspec.php";
	include $QR_BASEDIR."qrimage.php";
	include $QR_BASEDIR."qrinput.php";
	include $QR_BASEDIR."qrbitstream.php";
	include $QR_BASEDIR."qrsplit.php";
	include $QR_BASEDIR."qrrscode.php";
	include $QR_BASEDIR."qrmask.php";
	include $QR_BASEDIR."qrencode.php";
    }
    function qr_code_base64($text) {
        ob_start();
            QRCode::png($text, null);
            $imageString = base64_encode(ob_get_contents());
        ob_end_clean();
        
        return $imageString;
    }
    
    function qrcode_vCard_img_base64($arr = array()) {
        $name = isset($arr['name'])? ";".$arr['name'] : ''; 
        $apel = isset($arr['apel'])? $arr['apel'] : ''; 
        $orga = isset($arr['orga'])? $arr['orga'] : FALSE; 
        $telo = isset($arr['telo'])? $arr['telo'] : FALSE; 
        $telc = isset($arr['telc'])? $arr['telc'] : FALSE; 
        $webp = isset($arr['webp'])? $arr['webp'] : FALSE; 
        $mail = isset($arr['mail'])? $arr['mail'] : FALSE; 
        $note = isset($arr['note'])? $arr['note'] : FALSE; 
        
        $vCard = "BEGIN:VCARD\nVERSION:2.1\n";
        $vCard .= "N:".$apel.$name."\n";
        
        if($telc){
            $vCard .= "TEL;CELL:".$telc."\n";
        }
        if($telo){
            $vCard .= "TEL;WORK:".$telo."\n";
        }
        if($orga){
            $vCard .= "ORG:".$orga."\n";
        }
        if($webp){
            $vCard .= "URL:".$webp."\n";
        }
        if($mail){
            $vCard .= "EMAIL:".$mail."\n";
        }
        if($note){
            $vCard .= "NOTE:".$note."\n";
        }
        $vCard .= "END:VCARD";

        $vCard_mageString = $this->qr_code_base64($vCard);
        return $vCard_mageString;
    }
}	
// END Qr_Code CLASS

/* End of file Qr_Code.php */

/* Location: ./application/libraries/Qr_Code.php */